APP_config.h 定义
宏定义设置和作用列表
宏定义名称 | 作用描述 | 功能模块 |
---|
CFG_APP_USB_PLAY_MODE_EN | 启用USB播放模式,用于播放USB U盘中的文件 | 系统功能模式配置 |
CFG_APP_CARD_PLAY_MODE_EN | 启用SD卡播放模式,用于播放SD卡中的文件 | 系统功能模式配置 |
CFG_APP_LINEIN_MODE_EN | 启用线路输入模式,通过LINE-IN播放外部音频信号 | 系统功能模式配置 |
CFG_APP_BT_MODE_EN | 启用蓝牙功能,支持蓝牙音频输入输出 | 系统功能模式配置 |
CFG_APP_RADIOIN_MODE_EN | 启用收音机功能 | 系统功能模式配置 |
CFG_APP_OPTICAL_MODE_EN | 启用光纤SPDIF输入模式 | 系统功能模式配置 |
CFG_APP_COAXIAL_MODE_EN | 启用同轴SPDIF输入模式 | 系统功能模式配置 |
CFG_APP_I2SIN_MODE_EN | 启用I2S音频输入模式 | 系统功能模式配置 |
CFG_FUNC_AUDIO_EFFECT_EN | 启用音效功能,总音效开关 | 音频配置 |
CFG_FUNC_MUSIC_EQ_MODE_EN | 启用音乐EQ模式,用于不同类型的音效切换 | 音频配置 |
CFG_FUNC_MIC_KARAOKE_EN | 启用麦克风卡拉OK功能 | 音频配置 |
CFG_FUNC_SW_DEBUG_EN | 开启B0, B1端口用于调试和仿真功能选择 | 调试功能 |
CFG_CHIP_BP10128 | 选择芯片型号为BP10128(128针) | 芯片型号选择配置 |
CFG_FUNC_BT_BACKGROUND_RUN_EN | 开启蓝牙后台运行,允许在其他模式下运行蓝牙功能 | 蓝牙配置 |
CFG_FUNC_RECORDER_EN | 启用录音功能 | 录音功能配置 |
CFG_FUNC_RECORD_SD_UDISK | 将录音内容保存到SD卡或U盘 | 录音功能配置 |
CFG_FUNC_BREAKPOINT_EN | 启用断点记忆功能,在播放过程中记录位置 | 系统功能配置 |
CFG_FUNC_REMIND_SOUND_EN | 启用提示音功能 | 提示音配置 |
CFG_FUNC_REMIND_WAKEUP | 深度休眠后启用开机提示音 | 提示音配置 |
CFG_FUNC_DEEPSLEEP_EN | 启用深度休眠功能,降低功耗 | 低功耗管理 |
CFG_FUNC_IDLE_TASK_LOW_POWER | 使能OS空闲任务时进入低功耗模式 | 低功耗管理 |
CFG_FUNC_USB_DEVICE_EN | 启用USB设备模式,用于音频输出、调音等功能 | USB功能配置 |
CFG_FUNC_RTC_EN | 启用RTC实时时钟,用于时间跟踪 | 实时时钟配置 |
CFG_FUNC_ALARM_EN | 启用闹钟功能,需要RTC支持 | 实时时钟配置 |
CFG_FUNC_SHELL_EN | 启用Shell调试功能,通过命令行接口调试系统 | 调试功能 |
CFG_FUNC_DEBUG_EN | 启用UART调试功能 | 调试功能 |
CFG_USE_SW_UART | 启用软件模拟UART | 调试功能 |
CFG_FUNC_POWER_MONITOR_EN | 启用电源监测功能,用于电池电压监测和充电指示 | 电源监测配置 |
CFG_RES_IR_KEY_USE | 启用红外遥控按键功能 | 按键配置 |
CFG_RES_ADC_KEY_USE | 启用ADC按键功能 | 按键配置 |
CFG_FUNC_SPDIF_EN | 启用SPDIF功能,用于光纤或同轴音频输入 | 音频输入配置 |
CFG_FUNC_BACKUP_EN | 启用数据备份功能,包括电源按键功能 | 数据备份配置 |
CFG_GPIO_RESET_HOLD_EN | 启用GPIO复位保持功能,在复位或看门狗复位时保持IO状态 | GPIO配置 |
CFG_FUNC_STRING_CONVERT_EN | 启用字符编码转换功能,用于文本信息的编码转换 | 字符处理功能 |
CFG_FUNC_FREQ_ADJUST | 启用采样率微调功能,确保不同音源的同步 | 音频同步配置 |
CFG_FUNC_RECORDER_FIFO_N | 录音FIFO缓冲区的个数,用于录音数据的存储缓冲 | 录音配置 |
宏定义分类简述
- 系统功能模式配置: 控制系统支持的功能模式,如USB播放、SD卡播放、蓝牙、HDMI等。
- 音频配置: 包含音效功能、麦克风卡拉OK、EQ模式等,旨在提升音频体验。
- 调试功能: 包含软件调试和硬件调试设置,主要用于开发过程中调试代码和验证功能。
- 低功耗管理: 涉及深度休眠、空闲任务低功耗等,确保系统在非活动状态下的能耗最低。
- 实时时钟配置: 包含RTC和闹钟功能,支持时间相关的应用。
- 电源监测配置: 提供电池监测及充电指示,适用于电池供电的设备。
- 按键配置: 包含对红外遥控、ADC按键等输入设备的支持。
- USB功能配置: 包括USB设备和音频相关功能。
- GPIO配置: 控制GPIO的电平和复位状态。
- 字符处理功能: 提供文本编码转换功能。
- 数据备份配置: 用于数据保存、断电恢复等场景。
- 录音配置: 涉及录音功能的设置,如录音存储、增益调节、缓冲区管理等。
在提供的.h
文件中,确实涉及了多个GPIO的配置。这些GPIO端口被用于各种功能,如按键检测、音频输入/输出、蓝牙等。我将为您列出所有涉及的GPIO配置及其对应功能,整理为如下表格:
GPIO配置表格
GPIO名称 | 宏定义或GPIO端口描述 | 用途描述 | 功能模块 |
---|
GPIOA9 | LINEIN_DET_GPIO | 线路输入(Line-In)检测 | 音频输入 |
GPIOA10 | CFG_UART_COMMUNICATION_TX_PIN | UART调试的TX端口 | 通信接口配置 |
GPIOB4 、GPIOB5 | CFG_RADIO_IIC_HANDLER | 收音机I2C接口,用于RDA5807芯片的I2C通信 | 收音机控制 |
GPIOA26 | CFG_RES_ADC_KEY_PORT_CH2 | ADC按键接口,用于检测ADC按键 | 按键配置 |
GPIOA30 | SPDIF_OPTICAL_INDEX | SPDIF光纤输入的GPIO端口 | 光纤音频输入 |
GPIOA31 | SPDIF_COAXIAL_INDEX | SPDIF同轴输入的GPIO端口 | 同轴音频输入 |
GPIOA23 | CARD_DETECT_GPIO | SD卡检测引脚 | 存储设备检测 |
GPIOA20 、GPIOA21 、GPIOA22 | CFG_RES_CARD_GPIO | SD卡使用的GPIO端口,SDIO数据线 | 存储设备接口 |
GPIOA29 | HDMI_ARC_RECV_IO_PIN | HDMI ARC接收端口,用于ARC功能 | HDMI功能 |
GPIOA27 | HDMI_CEC_IO_INDEX | HDMI CEC(消费电子控制) | HDMI控制 |
GPIOA16 | CARD_DETECT_GPIO | SD卡检测引脚 | 存储设备检测 |
GPIOB6 、GPIOB7 | CFG_RES_IR_PIN | IR红外接收引脚,用于红外遥控功能 | 红外遥控 |
GPIOA8 、GPIOA9 | CFG_CODE_KEY1P_PIN , CFG_CODE_KEY1N_PIN | 编码器按键 | 编码旋钮按键 |
GPIOA24 | HDMI_HPD_CHECK_STATUS_IO_PIN | HDMI HPD检测,用于检测HDMI设备的插入 | HDMI检测 |
GPIOB1 | SPDIF_OPTICAL_INDEX | SPDIF光纤输入数字接口 | 光纤音频输入 |
GPIOA21 | CARD_DETECT_GPIO | SD卡检测端口,用于检测SD卡的插入状态 | 存储设备检测 |
说明:
- GPIO 用途分类:
- 音频输入/输出:用于SPDIF光纤和同轴输入,以及线路输入的检测。
- 通信接口:用于调试的UART通信端口和收音机I2C接口配置。
- 按键输入:包括ADC按键、编码旋钮按键以及IR红外接收按键。
- HDMI功能:用于实现HDMI ARC(音频回传)和CEC(消费电子控制)功能,还包括HPD(热插拔检测)引脚。
- 存储设备检测:SD卡插入/弹出检测,GPIO端口用于监测SD卡状态。
- GPIO的重要性:
- 这些GPIO的配置决定了系统的硬件功能,因此在实际电路设计和固件编写过程中,必须严格按照这些定义来进行电路布线,以确保功能的正常实现。
- 常见的注意事项:
- 确保不同功能之间的GPIO没有冲突。例如,调试用的UART端口与其他接口复用时需要小心,以避免运行中的冲突。
- 根据具体应用选择合适的GPIO。比如,高清音频输入/输出和HDMI检测等功能的GPIO必须在PCB设计阶段合理规划,避免干扰。
如果您需要更详细的解读或者对某些GPIO配置进行修改,请告诉我。
main_task.h文档
是对 main_task.h
中宏定义、结构体以及函数的作用的详细总结,按表格形式列出:
宏定义
宏定义 | 作用说明 |
---|
SoftFlagNoRemind | 提示音故障标志。用于标记系统当前是否存在提示音故障。 |
SoftFlagDecoderRun | 解码器正在运行标志。用于表示解码器是否正在运行。 |
SoftFlagDecoderSwitch | 解码器切换标志。用于标记解码器是否正在切换。 |
SoftFlagDecoderApp | 解码器被应用复用标志。用于标记解码器是否被应用层使用。 |
SoftFlagDecoderRemind | 提示音占用解码器标志。用于标记解码器是否被提示音占用。 |
SoftFlagRecording | 录音进行标记。用于标记录音状态,防止模式切换时进行非法操作。 |
SoftFlagPlayback | 回放进行标记。用于标记是否在播放状态。 |
SoftFlagDeepSleepRequest | 深度睡眠请求标志。用于标记是否请求进入深度睡眠模式。 |
SoftFlagRemindMask | 屏蔽提示音阶段标志。用于控制在某些模式(如通话模式)下不播放提示音。 |
MEDIA_VOLUME_STR_C | 表示 "C" 类型设备的路径,用于访问设备存储。 |
MEDIA_VOLUME_STR_U | 表示 "U" 类型设备的路径,用于访问设备存储。 |
MEDIA_VOLUME_C | 表示 "C" 类型设备的编号。 |
MEDIA_VOLUME_U | 表示 "U" 类型设备的编号。 |
CFG_APP_USB_AUDIO_MODE_EN | 判断是否启用了 USB 音频模式,根据条件来定义设备等待时间。 |
结构体
结构体名称 | 结构体成员及作用 |
---|
TWS_PAIR_STATE | 定义了 TWS 配对的状态,如配对开始、配对中、配对成功等。用于管理蓝牙音频的配对过程。 |
ModeState | 描述系统的工作模式,如进入模式、工作模式、退出模式、暂停模式等。用于系统模式管理。 |
SysVolContext | 管理音频源和接收端的音量状态,包含静音标志和音量控制数组,用于音频处理。 |
MainAppContext | 存储主应用程序的上下文信息,包括任务句柄、消息句柄、音频缓冲区、音量、模式状态等,负责管理主应用的生命周期和状态。 |
TWS_CONFIG | 用于配置 TWS(True Wireless Stereo)相关设置,如音频模式、同步播放提示音等。 |
函数名 | 作用说明 |
---|
MainAppTaskStart | 启动主应用程序任务。通常用于初始化硬件、创建任务、启动调度器等。 |
GetMainMessageHandle | 获取主应用程序的消息处理句柄,用于消息的接收和处理。 |
GetSystemMode | 获取系统当前的工作模式。 |
IsBtAudioMode | 判断当前是否为蓝牙音频模式。 |
IsBtTwsSlaveMode | 判断当前是否为蓝牙 TWS 从机模式。 |
AudioDACSinkBufClear | 清空音频 DAC 接收缓冲区,通常用于音频输出清理。 |
AudioADC1ParamsSet | 设置音频 ADC1 的参数,如采样率等。 |
ResumeAudioCoreMicSource | 恢复音频核心的麦克风数据源。 |
BtTwsEnterPeerPairingMode | 使蓝牙 TWS 进入配对模式。 |
EqModeSet | 设置音效模式(EQ 模式)。 |
TwsSyncPowerOff | 同步关机事件,通常用于 TWS 配对的断开电源处理。 |
MainTaskMsgSend | 发送消息到主任务,用于任务间通信。 |
- 宏定义:定义了一些常量和标志,用于控制系统状态、任务行为和模式切换等,便于任务间的同步和状态管理。
- 结构体:包含了管理音频、模式、TWS 配对和主任务上下文的核心数据,存储了任务运行时所需的各种信息和资源。
- 函数:提供了管理系统模式、音频配置、TWS 配对和任务间通信的接口,功能覆盖了主任务生命周期的各个方面。